package com.ozo.easy.common.util;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.ozo.easy.common.exception.ServiceException;

import java.util.Collection;

/**
 * 断言工具类
 *
 * @author ozo
 * @date 2024-12-27
 */
public class AssertUtil {

    /**
     * 值为true
     *
     * @param expression
     * @param message
     */
    public static void isTrue(boolean expression, String message) {
        if (!expression) {
            throw new ServiceException(message);
        }
    }

    /**
     * string不为空
     *
     * @param str
     * @param message
     */
    public static void isNotBlank(String str, String message) {
        isTrue(StrUtil.isNotBlank(str), message);
    }

    /**
     * 对象不为null
     *
     * @param obj
     * @param message
     */
    public static void isNotNull(Object obj, String message) {
        isTrue(obj != null, message);
    }

    /**
     * 集合不为空
     *
     * @param collection
     * @param message
     */
    public static void isNotEmpty(Collection<?> collection, String message) {
        isTrue(CollUtil.isNotEmpty(collection), message);
    }

}